package com.hbnu.api.dto;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.time.LocalDate;

/**
 * <p>
 * 
 * </p>
 *
 * @author jxl
 * @since 2025-08-23
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("sync_user")
@ApiModel(value="SyncUser对象", description="")
public class SyncUserDTO implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "主键")
    @TableId(value = "UID", type = IdType.AUTO)
    private String uid;

    @ApiModelProperty(value = "账号/工号")
    private String account;

    @ApiModelProperty(value = "密码")
    private String password;

    @ApiModelProperty(value = "姓名")
    private String name;

    @ApiModelProperty(value = "权限")
    private String roles;

    @ApiModelProperty(value = "教工号")
    private String teacherID;

    @ApiModelProperty(value = "部门/院/系")
    private String dept;

    @ApiModelProperty(value = "籍贯")
    private String origin;

    @ApiModelProperty(value = "性别")
    private String gender;

    @ApiModelProperty(value = "证件号码")
    private String numID;

    @ApiModelProperty(value = "出生日期")
    private LocalDate birthday;

    @ApiModelProperty(value = "最后学历")
    private String finalEducation;

    @ApiModelProperty(value = "最后学位")
    private String finalDegree;

    @ApiModelProperty(value = "职称级别")
    private String titleLevel;

    @ApiModelProperty(value = "职称")
    private String title;

    @ApiModelProperty(value = "政治面貌")
    private String outlook;

    @ApiModelProperty(value = "职务类别")
    private String jobCategory;

    @ApiModelProperty(value = "定职日期")
    private LocalDate appoindate;

    @ApiModelProperty(value = "职务")
    private String duties;

    @ApiModelProperty(value = "学科门类")
    private String disciplineCategories;

    @ApiModelProperty(value = "一级学科")
    private String firstDiscipline;

    @ApiModelProperty(value = "二级学科")
    private String secondaryDiscipline;

    @ApiModelProperty(value = "三级学科")
    private String tertiaryDiscipline;

    @ApiModelProperty(value = "研究方向")
    private String direction;

    @ApiModelProperty(value = "办公电话")
    private String officePhone;

    @ApiModelProperty(value = "传真")
    private String fax;

    @ApiModelProperty(value = "手机")
    private String phone;

    @ApiModelProperty(value = "QQ帐号")
    private String qq;

    @ApiModelProperty(value = "Email")
    private String Email;

    @ApiModelProperty(value = "联系地址")
    private String address;

    @ApiModelProperty(value = "邮编")
    private String zipcode;

    @ApiModelProperty(value = "简介")
    private String introduction;

    @ApiModelProperty(value = "荣誉")
    private String honor;

    @ApiModelProperty(value = "照片")
    private String image;

    @ApiModelProperty(value = "曾用名")
    private String usedname;

    @ApiModelProperty(value = "人员目前状态")
    private String nowState;

    @ApiModelProperty(value = "技术职位")
    private String techTitle;

    @ApiModelProperty(value = "技术职位任职日期")
    private LocalDate techDate;

    @ApiModelProperty(value = "国籍")
    private String nationality;

    @ApiModelProperty(value = "住宅电话")
    private String homePhone;

    @ApiModelProperty(value = "是否博士后")
    private String postdoctor;


}
